package taller.webservice;

import javax.ejb.EJB;
import javax.ejb.Stateless;
import javax.jws.WebMethod;
import javax.jws.WebService;

import xmlEntities.DatosRodamientoXML;
import xmlEntities.FacturaXML;
import xmlEntities.RodamientoXML;

import com.thoughtworks.xstream.XStream;

import ejbs.Facade;
import entities.Producto;

@Stateless
@WebService
public class ReceptorDeRodamientosServer implements ReceptorDeRodamientos
{
	@EJB
	private Facade facade;
	
	public ReceptorDeRodamientosServer() {
		
	}
	
	@WebMethod
	public void informarRodamiento(String xml)
	{		
		System.out.println("========= Rodamiendo desde La ofcina de Venta========");
		System.out.println(xml);
		Producto producto = ConvertirDatosRodamientoXML(xml);		
		System.out.println(producto.getCaracteristica());
		System.out.println(producto.getCodigo());
		System.out.println(producto.getOrigen());		
		facade.cargarArticulo(producto);	
		
	}

	
	private Producto ConvertirDatosRodamientoXML(String xml)
	{
		Producto producto = new Producto();
		
		XStream xstream = new XStream();
		xstream.alias("DatosRodamiento", DatosRodamientoXML.class);
		xstream.alias("Rodamiento", RodamientoXML.class);
		
		DatosRodamientoXML datosRodamientoXML = (DatosRodamientoXML)xstream.fromXML(xml);		
		producto.setCaracteristica(datosRodamientoXML.getRodamiento().getCaracteristica());
		producto.setCodigo(datosRodamientoXML.getRodamiento().getCodigo());		
		producto.setMarca(datosRodamientoXML.getRodamiento().getMarca());
		producto.setDescripcion(datosRodamientoXML.getRodamiento().getDescripcion());
		producto.setOrigen(datosRodamientoXML.getRodamiento().getOrigen());		
		
		return producto;
	}

}
